import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 28463
 * Date: 2022—05—21
 * Time: 12:03
 */
public class Main {
    //注意这里的返回值是User，不论返回是AdminUser还是NormalUser，User都可以接收
    //这个过程就发生了向上转型
    public static User login() {
        System.out.println("请输入你的姓名：");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        System.out.println("请输入你的身份：1：-》管理员.0：-》普通用户");
        int choice = scanner.nextInt();

        if (choice == 1) {
             return new AdminUser(name);
        }else {
            return new NormalUser(name);
        }
    }

    public static void main(String[] args) {
        //开始整合
        BookList bookList = new BookList();//准备图书
        //登录-》user这个引用 引用哪个对象看前面if
        User user = login();
        while(true){
            int choice = user.menu();//动态绑定
            //将用户看到菜单后输入的数字进行接收
            //要想访问子类中的菜单，那就要将父类写成抽象类，
            //然后子类重写父类的方法，才可以访问菜单
            user.doOperation(choice,bookList);
        }
    }
}
